package com.itheima.d3_udp2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

/*
     目标：完成UDP通信快速入门：实现1发1收。
 */
public class Client {
    public static void main(String[] args) throws Exception {
        // 1、创建客户端对象
        DatagramSocket client = new DatagramSocket();//客户端不绑定端口号
       /*
           2、创建数据包对象封装要发出去的数据（创建一个韭菜盘子）
           public DatagramPacket(byte buf[], int length, InetAddress address, int port)
           参数一：封装要发出去的数据。
           参数二：发送出去的数据大小（字节个数）
           参数三：服务端的IP地址（找到服务端主机）
           参数四：服务端程序的端口。
       */
        while (true) {
            Scanner scanner=new Scanner(System.in);
            System.out.println("发送的数据");
            String str=scanner.nextLine();//nextLine是以键盘的回车作为录入结束符号

            if ("exit".equals(str)){
                break;
            }

            byte[] buf =str.getBytes();//传递的信息

            //  InetAddress ip = InetAddress.getByName("192.168.49.69");//接收方的IP地址
            InetAddress ip = InetAddress.getByName("127.0.0.1");//接收方的IP地址

            DatagramPacket dp = new DatagramPacket(buf, buf.length,ip,880 ); //传输的数据包，数据包长度，接收方的端口号
            // 3、开始正式发送这个数据包的数据出去了
            client.send(dp);
        }
        // 4、释放资源
        client.close();
    }
}
